files
Type
function
Summary
List the files in a folder.
Syntax
the [{ detailed | long }] files
files([<targetFolder>[, <outputKind>]])
Description
Return a list of files in the targetFolder, with one file per line. If no targetFolder is specified, list the files in the current folder.
Folders are not included in the list. To get a list of folders, use the folders function.
Aliases (on OS X systems), symbolic links (on Linux systems) and shortcuts (on Windows systems) are included in the list only if they refer to a file.
The order that files are listed is platform-dependent. The order may vary between platforms, between filesystems, and even between consecutive calls to the files function. If you need a sorted list, use the sort command.
Short form
When the files is called as a function, or without the long
or
detailed
modifiers, it returns only the file
names as a string with one file name per line.
On some platforms, file names are permitted to include the linefeed character. Such a file name would be split across more than one line of the string returned by the files function.
Long form
the long files
and the detailed files
are synonyms. When
the files function is called in this form, the return
value is a list of files with detailed file attributes.
Each line in the return value is a comma-separated list of file attributes, as follows:
- Name. The file name is URL-encoded. To reliably obtain the name use the
`detailed-utf8` outputKind and decode using the URLDecode function followed
by textDecode. For example, `textDecode(URLDecode(item 1 of tLine), \"utf8\")`.
2. **Size**, in bytes. On OS X systems, this is the size of the
data fork.
3. **Resource fork size**, in bytes. (OS X only).
4. **Creation date**, in seconds. (OS X and Windows only).
5. **Last modification date**, in seconds.
6. **Last access date**, in seconds.
7. **Last backup date**, in seconds.
8. **User owner**. (Linux and OS X only).
9. **Group owner**. (Linux and OS X only).
10. **Permissions**. (Linux and OS X only; see note).
11. **Creator and < fileType|file type:::note[*. (OS X only).
Any attribute that is not relevant to the current platform is left empty.
The access permissions consist of three octal digits, in the same form used for the umask property.
]
Note:* On Windows, the permissions are always reported as "777".
:::
Parameters
Name | Type | Description |
---|---|---|
targetFolder | String | The folder path to search. |
outputKind | enum |
Examples
put files(specialFolderPath("documents")) into field "Current Docs"
sort lines of field "Current Docs" international
local tTotalSize
repeat for each line tFileInfo in the detailed files
add item 3 of tFileInfo to tTotalSize
end repeat
answer merge("The files in the current folder use" && \
"[[tTotalSize]] bytes")
local tDiskContents
put the files & return & the folders into \
tDiskContents["the defaultFolder"]
filter tDiskContents["the defaultFolder"] without ".."
Related
function: folders, specialFolderPath, URLDecode, textDecode
glossary: alias, current folder, data fork, folder, function, platform, return, resource fork, shortcut, symbolic link
keyword: long
property: defaultFolder, umask
command: sort
constant: return
Compatibility and Support
Introduced
LiveCode 1.0
OS
mac
windows
linux
ios
android
web
Platforms
desktop
server
mobile